package thread;

import org.w3c.dom.css.Counter;

public class test {
    private static int count = 0;
    private static Object locker = new Object();
    // synchronized public void add() {
    //     for(int i = 0; i < 50000; i++) {
    //         count++;
    //     }
    // }
    // public void add(){
    //     synchronized(this){
    //         for(int i = 0; i < 50000; i++) {
    //             count++;
    //         }
    //     }
    // }
    /**
     * 线程1
     */
    public static void fuc1(){
        synchronized(test.class){

            for(int i = 0; i < 50000; i++) {
                count++;
            }
        }  
    }
    public static void main(String[] args) throws InterruptedException {
        
        Thread thread1 = new Thread(() -> {
            
                for(int i = 0; i < 50000; i++) {
                    synchronized (locker) {
                        count++;
                }
            }
        });
        Thread thread2 = new Thread(() -> {
            
                for(int i = 0; i < 50000; i++) {
                    synchronized (locker) {//基本的加锁
                        count++;//推荐这种
                }
            }
        });
        thread1.start();
        thread2.start();
        thread1.join();
        thread2.join();
        System.out.println(count);
    }

}
